<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Import">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="settings">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="locale" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="rootcontainer">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="type" type="xs:string" />
              <xs:element name="name" type="xs:string" />
              <xs:element name="container" type="container" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="container">
    <xs:sequence>
      <xs:element name="type" type="xs:string" />
      <xs:element name="name" type="xs:string" />
      <xs:element name="description" type="xs:string" minOccurs="0" />
      <xs:element name="contact" type="xs:string" minOccurs="0" />
      <xs:element name="owner" type="xs:string" minOccurs="0" />
      <xs:element name="template" type="xs:string" minOccurs="0" />
      <xs:element name="showinsitedirectory" type="xs:string" minOccurs="0" />
      <xs:element name="inheritPermissions" type="xs:string" minOccurs="0" />
      <xs:element name="security" type="security" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="datacontainer" type="datacontainer" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="container" type="container" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="design" type="design" minOccurs="0" maxOccurs="1" />
      <xs:element name="configuration" type="xs:string" minOccurs="0" />
      <xs:element name="url" type="xs:string" minOccurs="0" />
      <xs:element name="lcid" type="xs:string" minOccurs="0" />
      <xs:element name="sitelcid" type="xs:string" minOccurs="0" />
      <xs:element name="operation" type="xs:string" minOccurs="0" />
      <xs:element name="propertyBag" type="xs:string" minOccurs="0" />
      <xs:element name="TimezoneID" type="xs:string" minOccurs="0" />

    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="fields">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="field" type="field" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="field">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="name" type="xs:string" />
      <xs:element name="displayname" type="xs:string" />
      <xs:element name="extended-type" type="xs:string" />
      <xs:element name="required" type="xs:string" minOccurs="0" />
      <xs:element name="addtodefaultview" type="xs:string" minOccurs="0" />
      <xs:element name="richtext" type="xs:string" minOccurs="0" />
      <xs:element name="groupby" type="xs:string" minOccurs="0" />
      <xs:element name="propertyvalues" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="schemaXML" type="xs:string" minOccurs="0" />
      <xs:element name="hidden" type="xs:string" minOccurs="0" />
      <xs:element name="id" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="datacontainer">
    <xs:sequence>
      <xs:element name="type" type="xs:string" />
      <xs:element name="name" type="xs:string" />
      <xs:element name="template" type="xs:string" />
      <xs:element name="basetemplate" type="xs:string" minOccurs="0" />
      <xs:element name="relativeitemXML" type="xs:string" minOccurs="0" />
      <xs:element name="quicklaunch" type="xs:string" minOccurs="0" nillable="true" />
      <xs:element name="webpart" type="xs:string" minOccurs="0" nillable="true" />
      <xs:element name="inheritPermissions" type="xs:string" minOccurs="0" nillable="true" />
      <xs:element name="datacontainer" type="datacontainer" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="alerts" type="alerts" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="security" type="security" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="views" type="views" minOccurs="0" maxOccurs="1" />
      <xs:element name="documenttemplateurl" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="hidden" type="xs:string" minOccurs="0" />
      <xs:element name="operation" type="xs:string" minOccurs="0" />
      <xs:element name="propertyBag" type="xs:string" minOccurs="0" />
      <xs:element name="fields" type="fields" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="security">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="user" type="user" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="role" type="role" minOccurs="0" maxOccurs="unbounded" />
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="role">
    <xs:sequence>
      <xs:element name="name" type="xs:string" />
      <xs:element name="permissions" type="xs:string" />
      <xs:element name="xml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="user">
    <xs:sequence>
      <xs:element name="role" type="xs:string" />
      <xs:element name="account" type="xs:string" />
      <xs:element name="email" type="xs:string" minOccurs="0" />
      <xs:element name="name" type="xs:string" minOccurs="0" />
      <xs:element name="type" type="xs:string" minOccurs="0" />
      <xs:element name="xml" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="alerts">
    <xs:sequence>
      <xs:element name="alert" type="alert" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="alert">
    <xs:sequence>
      <xs:element name="user" type="xs:string" />
      <xs:element name="type" type="xs:string" />
      <xs:element name="frequency" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="settings">
    <xs:sequence>
      <xs:element name="locale" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="design">
    <xs:sequence>
      <xs:element name="page" type="page" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="resource" type="resource" minOccurs="0" maxOccurs="unbounded" nillable="true" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="page">
    <xs:sequence>
      <xs:element name="URL" type="xs:string" />
      <xs:element name="file" type="xs:string" minOccurs="0" />
      <xs:element name="webpart" type="webpart" minOccurs="0" maxOccurs="unbounded">
      </xs:element>
      <xs:element name="propertybag" type="xs:string" minOccurs="0" />
      <xs:element name="field" type="itemfield" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="resource">
    <xs:sequence>
      <xs:element name="URL" type="xs:string" minOccurs="0" />
      <xs:element name="DataType" type="xs:string" minOccurs="0" />
      <xs:element name="File" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="webpart">
    <xs:sequence>
      <xs:element name="DWP" type="xs:string" minOccurs="0" />
      <xs:element name="ZoneID" type="xs:string" minOccurs="0" />
      <xs:element name="Title" type="xs:string" minOccurs="0" />
      <xs:element name="PartOrder" type="xs:string" minOccurs="0" />
      <xs:element name="PartType" type="xs:string" minOccurs="0" />
      <xs:element name="IsIncluded" type="xs:string" minOccurs="0" />
      <xs:element name="IsVisible" type="xs:string" minOccurs="0" />
      <xs:element name="ConnectionID" type="xs:string" minOccurs="0" />
      <xs:element name="Connections" type="xs:string" minOccurs="0" />
      <xs:element name="ID" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="views">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="view" type="view" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="view">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="name" type="xs:string" minOccurs="0" />
      <xs:element name="defaultview" type="xs:string" minOccurs="0" />
      <xs:element name="query" type="xs:string" minOccurs="0" />
      <xs:element name="hidden" type="xs:string" minOccurs="0" />
      <xs:element name="viewfields" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="unbounded">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="type" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="itemfield">
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="name" type="xs:string" minOccurs="0" />
      <xs:element name="type" type="xs:string" minOccurs="0" />
      <xs:element name="value" type="xs:string" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>